Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implements RolloverAction with new interface, fixes default action retry commit #231

Merged

Conversation

downsrob
Copy link
Contributor

Issue #, if available:
NA
Description of changes:

  • Implements the rollover action using the new interface.
  • When merging the development branch, some of the changes from the default actions retry commit Adds default action retries #212 were lost in the transition to the new SPI.
  • The default action retry was only applied during XContent parse, added it as the default value in the Action.kt class to make Actions stay the same when round tripped.
  • In ManagedIndexUtils, the Transition.evaluateConditions function was missing the rolloverDate inclusion from the min rollover age as a transition condition PR Adds min rollover age as a transition condition #215.
  • Reenabled all ManagedIndexUtilsTests

CheckList:

  • Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@codecov-commenter
Copy link

codecov-commenter commented Dec 20, 2021

Codecov Report

Merging #231 (0672bde) into development-extension (1a038ca) will increase coverage by 2.67%.
The diff coverage is 65.96%.

Impacted file tree graph

@@                     Coverage Diff                     @@
##             development-extension     #231      +/-   ##
===========================================================
+ Coverage                    60.57%   63.25%   +2.67%     
- Complexity                    1346     1438      +92     
===========================================================
  Files                          249      249              
  Lines                         9464     9647     +183     
  Branches                      1447     1494      +47     
===========================================================
+ Hits                          5733     6102     +369     
+ Misses                        3046     2796     -250     
- Partials                       685      749      +64     
Impacted Files Coverage Δ
...atemanagement/step/rollover/AttemptRolloverStep.kt 60.00% <59.73%> (+60.00%) ⬆️
...ent/indexstatemanagement/util/ManagedIndexUtils.kt 58.96% <75.00%> (+11.72%) ⬆️
...ndexstatemanagement/action/RolloverActionParser.kt 85.00% <84.21%> (+85.00%) ⬆️
...ment/indexstatemanagement/action/RolloverAction.kt 95.23% <93.75%> (+95.23%) ⬆️
...anagement/indexstatemanagement/ISMActionsParser.kt 78.37% <100.00%> (+0.60%) ⬆️
...ensearch/indexmanagement/IndexManagementIndices.kt 58.33% <0.00%> (ø)
...ensearch/indexmanagement/rollup/model/ISMRollup.kt 92.98% <0.00%> (ø)
.../opensearch/indexmanagement/rollup/model/Rollup.kt 84.43% <0.00%> (+0.47%) ⬆️
...agement/indexstatemanagement/ManagedIndexRunner.kt 29.78% <0.00%> (+0.79%) ⬆️
...anagement/indexstatemanagement/model/Transition.kt 16.90% <0.00%> (+1.40%) ⬆️
... and 19 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1a038ca...0672bde. Read the comment docs.

@downsrob downsrob marked this pull request as ready for review December 20, 2021 18:39
thalurur
thalurur previously approved these changes Dec 20, 2021
Signed-off-by: Clay Downs <[email protected]>
@@ -67,4 +67,8 @@ abstract class Action(
final fun isLastStep(stepName: String): Boolean = getSteps().last().name == stepName

final fun isFirstStep(stepName: String): Boolean = getSteps().first().name == stepName

companion object {
const val DEFAULT_RETRIES = 3L
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just out of curiosity, what does 3L stand for?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The L suffix there designates that the number is a long, so it would be equivalent to do const val DEFAULT_RETRIES: Long = 3. There are similar suffixes such as d for double or f for float, and they just let you designate a type when writing out a numeric literal.

@downsrob downsrob merged commit f8fc089 into opensearch-project:development-extension Dec 21, 2021
@downsrob downsrob deleted the rollover-action branch December 21, 2021 01:14
downsrob pushed a commit to downsrob/index-management that referenced this pull request Mar 8, 2022
Signed-off-by: Ravi Thaluru <[email protected]>

Base commit to clean up old action interfaces and disabling all ISM related tests (opensearch-project#218)

Signed-off-by: Ravi Thaluru <[email protected]>

Implement DeleteAcion using new interface (opensearch-project#221)

Signed-off-by: Ravi Thaluru <[email protected]>

Adding base logic to transition step to enable policy execution (opensearch-project#223)

Signed-off-by: Ravi Thaluru <[email protected]>

Support close action using new interface (opensearch-project#224)

* Implement close action

Signed-off-by: Annie Lee <[email protected]>

* Update functions

Signed-off-by: Annie Lee <[email protected]>

* Update AttemptCloseStepTests.kt

Signed-off-by: Annie Lee <[email protected]>

* Mark a test as private for now

Since TransitionAction is not yet implemented. Marking a test as private to avoid integ test failure

Signed-off-by: Annie Lee <[email protected]>

* Update CloseActionIT.kt

Signed-off-by: Annie Lee <[email protected]>

Implement ReadOnlyAction using new interface (opensearch-project#227)

* Refactors ReadOnlyAction

Signed-off-by: Robert Downs <[email protected]>

Implement ReadWriteAction using new interface (opensearch-project#228)

Signed-off-by: Clay Downs <[email protected]>

Implement OpenAction using new interface (opensearch-project#230)

* Support open action

Signed-off-by: Annie Lee <[email protected]>

* Update AttemptOpenStep.kt

Signed-off-by: Annie Lee <[email protected]>

* Add close action test

Signed-off-by: Annie Lee <[email protected]>

* Add open action related tests

Signed-off-by: Annie Lee <[email protected]>

* Add open action test round trip

Signed-off-by: Annie Lee <[email protected]>

* Fix open action xcontent test

Signed-off-by: Annie Lee <[email protected]>

* Modify XContentTests for better comparison

Signed-off-by: Annie Lee <[email protected]>

* Update XContentTests.kt

Signed-off-by: Annie Lee <[email protected]>

Implements RolloverAction with new interface, fixes default action retry commit (opensearch-project#231)

* Implements rollover action with new interface, fixes default action retry

Signed-off-by: Clay Downs <[email protected]>

Support ReplicaCountAction using new interface (opensearch-project#233)

Signed-off-by: Annie Lee <[email protected]>

Refactors rollup action and enables multi step actions (opensearch-project#235)

Signed-off-by: Robert Downs <[email protected]>

Refactors Notification action with new interface (opensearch-project#238)

* Refactors notification action with new interface

Signed-off-by: Robert Downs <[email protected]>

Upgrades detekt version, fixes flaky tests (opensearch-project#254)

* Upgrades detekt version to 1.17.1 (opensearch-project#252)

* Adds detekt ignores to not-yet-refactored files

* Fixes flaky rollup/transform explain IT (opensearch-project#247)

Signed-off-by: Robert Downs <[email protected]>

Support force merge action using new interface (opensearch-project#256)

* Support force merge action

Signed-off-by: Annie Lee <[email protected]>

Refactors Snapshot action to use new interface (opensearch-project#253)

* Refactors snapshot action to use new interface

Signed-off-by: Clay Downs <[email protected]>

Support index priority action using new interface (opensearch-project#257)

Signed-off-by: Annie Lee <[email protected]>

Support Allocation action using new interface (opensearch-project#246)

* Support Allocation action using new interface

Signed-off-by: Annie Lee <[email protected]>

* Pass in required parameter

Signed-off-by: Annie Lee <[email protected]>

* Update AttemptAllocationStep.kt

Adding correct const

Signed-off-by: Annie Lee <[email protected]>

* Update AttemptAllocationStep.kt

Typo in message

Signed-off-by: Annie Lee <[email protected]>

* Debug tests

Signed-off-by: Annie Lee <[email protected]>

* Update XContentTests.kt

Signed-off-by: Annie Lee <[email protected]>

* Revert "Debug tests"

This reverts commit d7123bd.

Signed-off-by: Annie Lee <[email protected]>

* Update IndexPolicyRequestTests.kt

Signed-off-by: Annie Lee <[email protected]>

* Support force merge action using new interface (opensearch-project#256)

* Support force merge action

Signed-off-by: Annie Lee <[email protected]>

* Update AllocationActionIT.kt

Signed-off-by: Annie Lee <[email protected]>

* Revert "Update IndexPolicyRequestTests.kt"

This reverts commit bd34e2e.

Signed-off-by: Annie Lee <[email protected]>

* Add debug log

Signed-off-by: Annie Lee <[email protected]>

* Remove debug log and change order of parameters

Signed-off-by: Annie Lee <[email protected]>

* Update after comments

Fix order of include exclude parameter in parser
Add check to tests
Remove "Config" in message

Signed-off-by: Annie Lee <[email protected]>

Merging changes from main branch (opensearch-project#259)

Signed-off-by: Ravi Thaluru <[email protected]>

merge with main (opensearch-project#270)

Signed-off-by: Ravi Thaluru <[email protected]>

Adds custom action parsing (opensearch-project#273)

* Adds custom action parsing logic

Signed-off-by: Robert Downs <[email protected]>

Refactor coordinator to support create and delete index events when different index types exist on cluster (opensearch-project#272)

* Refactor coordinator to support different index type create and delete events and sweep

Signed-off-by: Ravi Thaluru <[email protected]>

introducing custom uuid setting in SPI (opensearch-project#278)

* introducing custom uuid setting in SPI

Signed-off-by: Ravi Thaluru <[email protected]>

Refactors the managed index runner to work with extensions (opensearch-project#262)

* Adds index creation date

Signed-off-by: Robert Downs <[email protected]>

Adds NewClusterEventListeners and refactors Transition to work with custom actions

Signed-off-by: Robert Downs <[email protected]>

Marks blocked actions list as deprecated

Signed-off-by: Clay Downs <[email protected]>

Asserts the deprecation warning after adding to allow list in test

Signed-off-by: Robert Downs <[email protected]>

Removes allow_list test

Signed-off-by: Robert Downs <[email protected]>

* Fix additional rebase issues

Signed-off-by: Robert Downs <[email protected]>

* Fixes failing tests

Signed-off-by: Robert Downs <[email protected]>

* changes based on comments

Signed-off-by: Robert Downs <[email protected]>

* Adds additional comments

Signed-off-by: Clay Downs <[email protected]>

Makes rest APIs use new metadata service (opensearch-project#245)

* Makes rest API use new metadata service

Signed-off-by: Robert Downs <[email protected]>

Adds missed flags (opensearch-project#286)

Signed-off-by: Clay Downs <[email protected]>

Ports over show-applied-policies logic (opensearch-project#287)

Signed-off-by: Clay Downs <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants